869d102c9d028ff476c67eb0642772f249c86666,src/com/redhat/ceylon/compiler/loader/AbstractModelLoader.java,AbstractModelLoader,addValue,#ClassOrInterface#FieldMirror#boolean#,1091

Before Change


        // FIXME: for the same reason, can it be an overriding field? (actual)
        value.setVariable(!fieldMirror.isFinal());
        try{
            value.setType(obtainType(fieldMirror.getType(), fieldMirror, klass));
            value.setUncheckedNullType(!isCeylon);
        }catch(TypeParserException x){
            logError("Invalid type signature for field "+klass.getQualifiedNameString()+"."+value.getName()+": "+x.getMessage());

After Change



    private void addValue(ClassOrInterface klass, FieldMirror fieldMirror, boolean isCeylon) {
        // make sure it's a FieldValue so we can figure it out in the backend
        Value value = new FieldValue();
        value.setContainer(klass);
        value.setName(fieldMirror.getName());
        value.setUnit(klass.getUnit());
        value.setShared(fieldMirror.isPublic() || fieldMirror.isProtected());
        value.setProtectedVisibility(fieldMirror.isProtected());
        value.setStaticallyImportable(fieldMirror.isStatic());
        // field can't be abstract or interface, so not formal
        // can we override fields? good question. Not really, but from an external point of view?
        // FIXME: figure this out: (default)
        // FIXME: for the same reason, can it be an overriding field? (actual)
        value.setVariable(!fieldMirror.isFinal());
        try{
            ProducedType type = obtainType(fieldMirror.getType(), fieldMirror, klass);
            value.setType(type);
            value.setUncheckedNullType(!isCeylon && !fieldMirror.getType().isPrimitive());
        }catch(TypeParserException x){
            logError("Invalid type signature for field "+klass.getQualifiedNameString()+"."+value.getName()+": "+x.getMessage());